package com.money.tracker.generator.entity.req;

import com.money.tracker.common.entity.PageQuery;
import com.money.tracker.common.validate.QueryGroup;
import com.money.tracker.common.validate.RemoveGroup;
import com.money.tracker.generator.entity.GenTable;
import com.money.tracker.generator.entity.GenTableColumn;
import jakarta.validation.constraints.NotBlank;
import lombok.*;

import java.time.LocalDateTime;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GenTableReq extends PageQuery {
    /**
     *
     */
    @NotBlank(message = "表id不能为空", groups = {QueryGroup.class, RemoveGroup.class})
    private String tableId;

    private String dataSourceName;

    /**
     * 表名称
     */
    private String tableName;

    /**
     * 表描述
     */
    private String tableComment;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    private String tables;

    private GenTable genTable;

    private List<GenTableColumn> columns;

    private String params;

}
